<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateAdminsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('admins', function (Blueprint $table) {
            $table->increments('id');
            // 编写迁移文件
            $table->string('username', 30)->notNull()->unique()->comment('用户名');
            $table->string('password')->notNull()->comment('密码'); // 注意：这个密码使用的 laravel提供的加密解密方式，不在使用的md5 所以长度建议设置为默认的 255长度
            $table->string('email', 50)->notNull()->unique()->comment('邮箱');
            $table->string('phoneNumber', 20)->notNull()->unique()->comment('手机号'); // 注意：手机号一般还有区号的概念 0 086(中国的国际区号)【谷歌里面的一些应用的注册，使用的就是国际区号】...
            $table->string('mark_up')->notNull()->default('')->comment('用户的备注信息！');
            // 记住：在设计字段的时候，一般请求所有的字段都要设置为 notNull 在mysql的底层就行更好的优化处理。
            $table->boolean('is_status')->notNull()->default(0)->comment('是否被锁定，默认是0，代表没有被锁定');// Boolean类型是laravel内置的一个类型，其实就是 tinyInt类型
            $table->integer('loginIp')->unsigned()->notNull()->default(0)->comment('登录的ip地址，使用整数保存，存：ip2long 取long2ip');
            $table->mediumInteger('loginTime')->unsigned()->notNull()->default(0)->comment('登录的次数！');

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('admins');
    }
}
